home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / PET / O-Old PET 1979 / (o)a2.d64 / v40.2.s < prev    next >
Text File  |  2007-04-22  |  1KB  |  66 lines

  1. ;*******************************
  2. ;
  3. ;    40 COLUMN & BASIC 2.0
  4. ;
  5. ;*******************************
  6. ;
  7. ENDSCR=33727
  8. SCREEN=32808
  9. LINLEN=40
  10. PRINT=$E3D8
  11. MSGPN=2
  12. IRQCDE=$E62E
  13. ;
  14. ;SET UP REPEAT FOR 40 COLUMN
  15. ;
  16. *=$7B00
  17.  LDA $90
  18.  STA IRQLO
  19.  LDA $91
  20.  STA IRQHI
  21.  SEI
  22.  LDA #<REPCDE
  23.  STA $90
  24.  LDA #>REPCDE
  25.  STA $91
  26.  CLI
  27. .LIB SC1.S
  28. FINISH SEI ;RESET IRQ
  29.  LDA IRQLO ;TO SAVED VALUE
  30.  STA $90
  31.  LDA IRQHI
  32.  STA $91
  33.  CLI
  34.  RTS ;AND RETURN TO BASIC
  35. ;
  36. ;**************************************
  37. ;* REPEAT CODE FOR 40 COLUMN PET.     *
  38. ;**************************************
  39. ;
  40. DELAY .BYT 0 ;REPEAT DELAY
  41. REPCTR .BYT 0 ;REPEAT COUNTER
  42. IRQLO .BYT 0 ;STORE FOR INTERRUPT
  43. IRQHI .BYT 0 ;REQUEST VECTOR
  44. ;
  45. REPCDE LDA 151 ;GET KEYPRESS
  46.  CMP #255 ;NOTHING ?
  47.  BNE REPEAT ;NO - TEST REPEAT
  48.  LDA #0 ;ZEROISE REPEAT COUNTER
  49.  STA REPCTR
  50.  LDA #16 ;SET REPEAT DELAY TO 16
  51.  STA DELAY
  52.  BNE IRQ ;AND GO ON
  53. REPEAT INC REPCTR ;INCREMENT COUNTER
  54.  LDA DELAY ;GET REPEAT DELAY
  55.  CMP REPCTR ;HAS COUNTER REACHED THIS ?
  56.  BNE IRQ ;NO - GO ON
  57.  LDA #4 ;YES - SET THE LIMIT TO BE SHORTER
  58.  STA DELAY
  59.  LDA #255 ;FOOL OPERATING SYSTEM
  60.  STA 151 ;TO THINK 'NO KEY PRESSED'
  61.  LDA #0 ;ZEROISE COUNTER AGAIN
  62.  STA REPCTR
  63. IRQ JMP (IRQLO) ;AND JUMP TO USUAL IRQ
  64. ;
  65. .END
  66.